home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / libs / unixlib.lha / unix / src / write.c < prev   
C/C++ Source or Header  |  1996-01-04  |  446b  |  24 lines

  1. #include "amiga.h"
  2. #include "files.h"
  3. #include <fcntl.h>
  4. #include <unistd.h>
  5.  
  6. #undef lseek
  7. #undef write
  8.  
  9. int __write(int fd, const void *buffer, unsigned int length)
  10. {
  11.     struct fileinfo *fi;
  12.  
  13.     __chkabort();
  14.     if (fi = _find_fd(fd)) {
  15.     if (fi->flags & FI_WRITE) {
  16.         if (fi->flags & O_APPEND)
  17.         fi->lseek(fi->userinfo, 0, SEEK_END);
  18.         return fi->write(fi->userinfo, (void *) buffer, length);
  19.     }
  20.     errno = EACCES;
  21.     }
  22.     return -1;
  23. }
  24.